using System;
using Headspring.Training.Core;
using NUnit.Framework;

namespace Headspring.Training.IntegrationTests
{
	[TestFixture]
	public class LoggerTester
	{
		[Test]
		public void Should_smoke_test_logger()
		{
			Logger.EnsureInitialized();

			Logger.Debug(this, "");
			Logger.Debug(this, "", new Exception());
			Logger.Debug(typeof(LoggerTester), "");
			Logger.Debug(typeof(LoggerTester), "", new Exception());

			Logger.Info(this, "");
			Logger.Info(this, "", new Exception());
			Logger.Info(typeof(LoggerTester), "");
			Logger.Info(typeof(LoggerTester), "", new Exception());

			Logger.Warn(this, "");
			Logger.Warn(this, "", new Exception());
			Logger.Warn(typeof(LoggerTester), "");
			Logger.Warn(typeof(LoggerTester), "", new Exception());

			Logger.Error(this, "");
			Logger.Error(this, "", new Exception());
			Logger.Error(typeof(LoggerTester), "");
			Logger.Error(typeof(LoggerTester), "", new Exception());

			Logger.Fatal(this, "");
			Logger.Fatal(this, "", new Exception());
			Logger.Fatal(typeof(LoggerTester), "");
			Logger.Fatal(typeof (LoggerTester), "", new Exception());

			Logger.SerializeException(new Exception());
			Logger.Shutdown();
		}
	}
}